package com.voice.call.service;

import com.voice.call.common.Result;
import com.voice.call.entity.CallLog;
import com.voice.call.entity.UserAccount;

public interface UserAccountService {
	
	//帐户拨打
	Result accountCall(Integer user_id,String called,String lang,String v,String ip);
	
	//帐户余额
	Result accountBalance(Integer user_id);

	//添加帐号
	boolean addAccount(Integer user_id);
	
	//获取帐户
	UserAccount getUserAccountForUserId(Integer user_id);
	
	/**
	 * 获取通话剩余时长(单位秒)
	 * @param caller 主叫
	 * @param called 被叫
	 * @return
	 */
	String getCallLeftTime(String caller,String called);
	
	/**
	 * 获取通话剩余时长(单位秒)
	 * @param user_id 用户id
	 * @param called  被叫
	 * @return
	 */
	String getCallLeftTimeForUserId(String user_id,String called);
	
	/***
	 * 扣费处理
	 * @param callLog 话单
	 * @return
	 */
	boolean DeductionFreeWithCallLog(CallLog callLog);
	
	/**
	 * 更新帐户余额
	 * @param user_id  更新的帐号
	 * @param money    余额
	 * @param isAdd    true:加钱 false:减钱
	 * @return
	 */
	boolean updateAccountBlance(Integer user_id,Integer money,boolean isAdd);
	
	//获取用户可拨打的分钟数
	String getUserDialMinute(String user_id,String called);
}
